home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 8: LINUX Games / Linux Cubed Series 8 - LINUX Games.iso / games / x11 / strategy / xpuzzles.3 / xpuzzles / xpuzzles-5.3.1 / xoct / README < prev    next >
Text File  |  1996-04-08  |  9KB  |  213 lines

  1.     X-BASED OCTAHEDRON
  2.     ==================    Octahedron X widget, V5.3
  3.  
  4.  
  5.     It has been tested on the following platforms:
  6.  
  7.     HP 3xx & 700        HP-UX 9.0x    X11R5
  8.     Sun4, SPARC        SunOS 4.1.3    X11R4
  9.     Sun4, SPARC        SunOS 5.4    X11R5
  10.     PC, 486            Linux 1.0.9    X11R5(*)
  11.     PC, 486            Linux 1.2.8    X11R6(**)
  12.  
  13.     *    Keypad 5 key may not work, in which case, try it with the
  14.     Num-Lock on
  15.     **    Keypad may not work, since various keycodes may not be defined
  16.     by default.  Check that "KP_1 - KP_9, Home, Up, Prior, Left,
  17.     Begin, Right, End, Down, Next" are defined towards the end of
  18.     /usr/lib/X11/etc/xmodmap.std .  If not defined
  19.     cp /usr/lib/X11/etc/xmodmap.std /usr/lib/X11/xinit/.Xmodmap
  20.     and then motify this or create your own at ${HOME}/.Xmodmap .
  21.     You should just have to uncomment them (get rid of some '!').
  22.     This should be done before X is started.
  23.  
  24.     If yours is not in this list, please let me know -- thanks. The
  25.     most updated source could be found on ftp.x.org under
  26.     /contrib/games/puzzles.
  27.  
  28. HOW TO BUILD?
  29.  
  30.     Do you have Motif?  If so, uncomment line 28 of Imakefile.
  31.  
  32.     It should be easy. Edit the Imakefile (or Makefile.std, see below)
  33.     for appropriate settings of variable SCOREFILE then do:
  34.     xmkmf
  35.     make
  36.     xoct  [motif version will be xmoct]
  37.  
  38.     Note: if you don't have 'xmkmf' or the "Makefile" it generates
  39.     doesn't work well, edit Makefile.std for appropriate settings for
  40.     XINCLUDEPATH and XLIBPATH, then try:
  41.     make -f Makefile.std
  42.  
  43.     or if you have Motif, uncomment appropriate sections, then try:
  44.         make -f Makefile.std all.xm
  45.         xmmlink
  46.  
  47.     You should have Oct.ad copied to $(HOME)/Oct or 
  48.     /usr/lib/X11/app-defaults/Oct to run, especially if the background
  49.     is similar to one of the faces. Edit this file for your preferences.
  50.     You might want to move xoct into /usr/bin/X11 (or wherever your
  51.     X binaries are).
  52.     You might also want to move xoct.man to /usr/man/man6/xoct.6
  53.  
  54. ANYTHING SPECIAL IN USING?
  55.  
  56.     Click on the left mouse button to move a piece.  Release it on a
  57.       piece in the same row and on the face (but not an adjacent piece
  58.       or the move is ambiguous).  The puzzle will then turn towards where
  59.       the mouse button was released.
  60.     Click on the middle mouse button toggle the practice mode. (This is
  61.       good for learning moves).  Also 'P' or 'p' does the same thing.
  62.       One must double click on the middle mouse button if the puzzle is
  63.       being worked on.
  64.     Click on the right mouse button if you want to randomize the puzzle.
  65.       Also 'R' or 'r' does the same thing.  One must double click on
  66.       the right mouse button if the puzzle is being worked on.
  67.     'I' or 'i' to increase or move up the number of "octas".
  68.     'D' or 'd' to decrease or move down the number of "octas".
  69.     'O' or 'o' to toggle orient mode.
  70.     '3' (not the keypad 3) to set period 3 mode.
  71.     '4' (not the keypad 4) to set period 4 mode.
  72.     'B' or 'b' to set both period 3 and period 4 mode.
  73.     'Y' or 'y' to toggle the sticky mode. Increase and decrease capability
  74.       is turned off until out of sticky mode.
  75.     'S' or 's' to auto-solve.  Unfortunately, its unimplemented.
  76.     'U' or 'u' to undo last move.
  77.     'G' or 'g' to get a saved puzzle.
  78.     'W' or 'w' to write or save a puzzle.
  79.     'Q', 'q', or Control-C to kill program.
  80.  
  81.     Key pad is defined for octahedron as:
  82.         /
  83.  
  84.     7   8   9
  85.         ^
  86.     4 < 5 > 6
  87.         v
  88.     1   2   3
  89.  
  90.     The key pad along with the use of the mouse will allow you to move the
  91.     "octas" i.e.,
  92.                       KP_DIVIDE=>CCW
  93.     KP_7=>TopLeft     KP_8=>Top       KP_9=>TopRight
  94.     KP=>Left          KP_5=>CW        KP_6=>Right
  95.     KP_1=>BottomLeft  KP_2=>Bottom    KP_3=>BottomRight
  96.  
  97.     The shift keys will allow one to access "Period 4" turns from "Both"
  98.     mode, otherwise it assumes "Period 3" turning. Points turn in
  99.     "Period 4" and faces turn in "Period 3".
  100.     "Sticky" and "Period 3" turning allows only the faces to turn,
  101.     It is as if the middle cut of the three cuts did not exist.
  102.     "Sticky" and "Period 3" turning allows only the points to turn, it is
  103.     as if the middle cut of the three cuts did not exist.
  104.     Beware, the "Sticky" mode is a hack and much could be done to improve
  105.     its look.
  106.  
  107.     The control key allows you to move the whole octahedron at once
  108.     without being entered as a move.  Hold down the control key while
  109.     using the left mouse button or the keypad.  Use with shift change
  110.     turning mode.
  111.  
  112.     One has to orient the faces in orient mode, besides getting all the
  113.     faces to be the same color. To do this one has to get the lines to
  114.     be oriented in the same direction, this only matters with center
  115.     "octas", if at all (i.e. those "octas" not on a corner or edge).
  116.  
  117.     Try resizing the octahedron. Notice the puzzle resizes to take
  118.     advantage of the "room" available.
  119.  
  120.     The title is in the following format (non-motif version):
  121.     xoct.{3|4|both}: {1|2|3|4|5|6|sticky} @ (<Number of moves>/\
  122.         {<Record number of moves>|NEVER|PRACTICE}) - <Comment>
  123.     {3|4|both}: current turning mode or both modes.
  124.     {1|2|3|4|5|6|sticky}: number of "octas" per edge or in sticky mode.
  125.     {<Record...}: puzzle is either in practice mode or record mode
  126.        In record mode, if there is no record of the current puzzle, it
  127.        displays "NEVER".
  128.  
  129.     If you were looking for a auto-solver, sorry. One of the problems in
  130.     auto-solvers the generally don't work for different number of cuts.
  131.     If you know of one let me know.
  132.  
  133.     Personally, I have solved 1-2 in  "Period 3" mode, 1-3 in the
  134.     "Period 4" mode, 1 in the "Both" mode, and "Sticky" I have not
  135.     solved it in any mode.
  136.  
  137.     Refer to the man page for detailed command line options.
  138.  
  139.     If you want further information on puzzles, I'll be glad :-) to send
  140.     it to you.
  141.  
  142. SAVE FORMAT
  143.  
  144.     The format is not standard.  The reason is that this is simple to
  145.     produce and the standard notation is no good for variable number of
  146.     "octas".  The format will probably change to become more readable.
  147.  
  148.     size: 1-6 number of triangles in the same orientation as the
  149.       face per row
  150.     mode: 3-5; period 3 turning, period 4 turning, and both (5)
  151.     orient: 0 false, 1 true  lines on "octa" to be oriented
  152.     sticky: 0 false, 1 true  some "octas" move together
  153.     practice: 0 false, 1 true
  154.     moves: 0-MAXINT
  155.  
  156.     startingPosition:
  157.       0      R     where the starting unrandomized faces would be,
  158.     3   1  M   B   each face has size * size "octas"
  159.       2      W     if orient mode, orientation number follows face number
  160.       4      O       clockwise numbered like a clock except 0 is up.
  161.     7   5  Y   P
  162.       6      G
  163.  
  164.     This is then followed by the moves
  165.     move #: face position direction control
  166.       each turn is with respect to a face and position.
  167.     Position is 0 to size * size - 1.  Position 0 is the center most
  168.       triangle, increasing counterclockwise.
  169.     Direction is represented as 0 up, 1 upper right, 2 right,
  170.       3 lower right, 4 down, 5 lower left, 6 left, 7 upper left,
  171.       9 clockwise, and 15 counterclockwise.
  172.     Control is represented as 0 or 1, 1 if the whole octahedron is moved
  173.       at once (here i and j do not matter), 0 if not.  The xoct record
  174.       keeper does not count a control move as a move, but here we do.
  175.  
  176.     Caution: the program may crash on corrupted input.
  177.  
  178. FOUND A BUG?
  179.  
  180.     Send bugs reports and fixes to the author. For bugs, please include
  181.     as much information as to their location as possible, since I may not
  182.     have the resources to duplicate the them.
  183.  
  184.     David Albert Bagley,    bagleyd@hertz.njit.edu
  185.  
  186. HISTORY
  187.  
  188.   [Apr 08, 96]    V5.3: Minor changes.
  189.   [Jan 31, 96]    V5.2: Puzzle can now moved by a more intuitive drag and
  190.         drop approach.  Pieces will invert, when selected.
  191.         Now using dynamic allocation, so there is no maximum size.
  192.   [Dec 15, 95]    V5.1: Minor updates, RNG for 32/64 bit, border color
  193.         to make faces look more realistic.
  194.   [Oct 04, 95]    V5.0: Xt/Motif, your choice.
  195.   [Jun 06, 95]    V4.10.1: Warning error fixed.
  196.   [May 16, 95]    V4.10: Warnings removed from Sun's cc and lint and now
  197.         include a random number generator.  More freedom in
  198.         movement using control+shift.
  199.   [Mar 13, 95]    V4.4: Removed lint warnings and added a VMS make.com .
  200.   [Oct 11, 94]    V4.3: Conservative guess for random number generator.
  201.   [Oct 07, 94]    V4.2: Now allows undos, saves, and recalls.
  202.   [Jun 28, 94]    V4.1: Can accommodate a auto-solver.
  203.   [Jun 05, 94]    V4.0: Xt version.
  204.         I got some good ideas from oclock.
  205.   [Apr 01, 93]    V3.0: Motif version.
  206.         I got some good ideas from Douglas A. Young's
  207.         book: "The X Window System Programming and Applications
  208.         with Xt OSF/Motif Edition", particularly his dial widget.
  209.         I got some good ideas on presentation from Q. Zhao's
  210.         tetris.
  211.   [Feb 01, 92]    V2.0: XView version.
  212.   [Jun 10, 91]    V1.0: SunView version.
  213.